package com.whfc.ms.api.fim.service;

import com.whfc.common.result.ListData;
import com.whfc.common.result.PageData;
import com.whfc.fim.dto.FimWarnRuleDTO;
import com.whfc.fim.param.FimSetUserParam;
import com.whfc.fuum.dto.SysAlgorithmTypeDTO;

import java.util.List;

/**
 * @author : qzexing
 * @version : 1.0
 * @date : 2020-09-08 20:02
 */
public interface MsFimWarnRuleService {

    /**
     * 智能监控规则列表
     *
     * @param deptId   组织机构ID
     * @param pageNum  页码
     * @param pageSize 每页数量
     * @return 智能监控规则列表
     */
    PageData<FimWarnRuleDTO> list(Integer deptId, Integer pageNum, Integer pageSize);

    /**
     * 获取所有的智能监控规则
     *
     * @param deptId 组织机构ID
     * @return 智能监控规则列表
     */
    ListData<FimWarnRuleDTO> list(Integer deptId);

    /**
     * 设置智能监控结果的消息通知人
     *
     * @param request 请求参数
     */
    void setUser(FimSetUserParam request);


    /**
     * 获取组织机构已配置的算法类型列表
     *
     * @param deptId
     * @param pageNum
     * @param pageSize
     * @Return
     */
    @Deprecated
    PageData<SysAlgorithmTypeDTO> getAlgorithmConfList(Integer deptId, Integer pageNum, Integer pageSize);

    /**
     * 获取组织机构未配置的算法类型列表
     *
     * @param deptId
     * @param pageNum
     * @param pageSize
     * @Return
     */
    @Deprecated
    PageData<SysAlgorithmTypeDTO> getAlgorithmUnConfList(Integer deptId, Integer pageNum, Integer pageSize);

    /**
     * 添加组织机构配置算法类型
     *
     * @param deptId
     * @param types  算法类型集合
     */
    @Deprecated
    void addAlgorithmConf(Integer deptId, List<Integer> types);

    /**
     * 组织机构删除配置算法类型
     *
     * @param deptId
     * @param type
     */
    @Deprecated
    void delectAlgorithmConf(Integer deptId, Integer type);

}


